acorn: medium acorn present
[clinton/3d-models.git] / carriage adapter / itty-wilson.scad
index 1bb60a5..c4b427e 100644 (file)
@@ -38,14 +38,24 @@ use <MCAD/nuts_and_bolts.scad>
 
 $fn = 64;
 
-hole_tolerance = 0.6; // widen holes a bit, may still need to drill out
+hole_tolerance = 0.3; // widen holes a bit, may still need to drill out
 
 // Size of mounting bolt heads so they can be recessed
-bolthead_depth = 1.6;
+bolthead_depth = 2;
 bolthead_diameter = 5.5 + hole_tolerance;
 
-carriage_height = 64;
-carriage_width = 52;
+// X-Carriage plate size
+
+// Wilson II
+// WARNING:  not yet compatible with rack and pinion carriage
+carriage_height = 72.35;
+carriage_width = 60;
+shelf_offset = [0, 3, 0]; // shift the mount for extruder
+
+// Wilson TS
+//carriage_height = 64;
+//carriage_width = 51;
+//shelf_offset = [0, 0, 0]; // shift the mount for extruder
 
 plate_width = 75; // wilson carriage is only 50mm wide!
 plate_depth = 6 + bolthead_depth; // wilson default depth = 8, makerfarm = 6
@@ -57,7 +67,7 @@ plate_cut_y_offset = 27;
 plate_cut_bolt = 3 + hole_tolerance;
 plate_cut_x_bolt_offset = plate_cut_distance + plate_cut_bolt / 2;
 
-plate_extra_height = 4; // make plate a bit taller so it is structurally sound
+plate_extra_height = 6; // make plate a bit taller so it is structurally sound
 
 plate_height = plate_cut_height + plate_cut_y_offset + plate_extra_height;
 
@@ -74,23 +84,26 @@ carriage_offset = [(plate_width - carriage_width) / 2, 0 , 0];
 
 corner_radius = 3; // round off the corners to make it look nicer
 
-
-difference () {
-     union () {
-         translate (carriage_offset) carriage_mount_base ();
-         shelf_mount_base ();
+module itty_wilson () {
+     difference () {
+         union () {
+              translate (carriage_offset) carriage_mount_base ();
+              translate (shelf_offset) shelf_mount_base ();
+         }
+         rotate ([0, 0, -1]) translate (carriage_offset) carriage_mount_holes ();
+         translate (shelf_offset) shelf_mount_holes ();
      }
-     translate (carriage_offset) carriage_mount_holes ();
-     shelf_mount_holes ();
 }
 
+itty_wilson ();
+
 // mount to wilson x-carriage
 module carriage_mount_base () {
      linear_extrude (height = plate_depth, convexity = 8) {
          // outline of plate + bolt holes
          translate ([corner_radius, corner_radius, 0]) {
               minkowski () {
-                   square ([carriage_width - corner_radius*2, carriage_height - corner_radius]);
+                   square ([carriage_width - corner_radius*2, carriage_height - corner_radius*2]);
                    circle (r = corner_radius);
               }
          }
@@ -100,7 +113,7 @@ module carriage_mount_base () {
 module carriage_mount_holes () {
      #translate ([(carriage_width - carriage_hole_spacing) / 2, (carriage_height - carriage_hole_spacing) /2, 0])
      for (x = [0, carriage_hole_spacing], y = [0, carriage_hole_spacing]) {
-         translate ([x, y, -0.1]) cylinder (d = carriage_bolt, h = plate_depth+1);
+         translate ([x, y, -50.1]) cylinder (d = carriage_bolt, h = plate_depth+100);
      }
 
      // after extruding, cut out spaces for M4 hex nuts.
@@ -124,13 +137,13 @@ module shelf_mount_base () {
 }
 
 module shelf_mount_holes () {
-     depth = plate_depth+0.2;
+     depth = plate_depth*2+0.4;
      translate ([0, 0, -0.1]) {
-              // upper shelf mount
-              translate ([plate_cut_width/2, plate_cut_y_offset, 0]) {
-                   for (x = [-0.001, plate_cut_width + plate_cut_distance,
+         // upper shelf mount
+         translate ([plate_cut_width/2, plate_cut_y_offset, 0]) {
+              for (x = [-0.001, plate_cut_width + plate_cut_distance,
                              plate_width - plate_cut_width + 0.001, plate_width - plate_cut_width*2 - plate_cut_distance])
-                        #translate ([x, plate_cut_height/2, 0]) cube ([plate_cut_width + hole_tolerance, plate_cut_height, depth], center = true);
+                        translate ([x, plate_cut_height/2, 0]) cube ([plate_cut_width + hole_tolerance, plate_cut_height, depth], center = true);
 
                         // looks like the bolt is at the midpoint between the cut outs
                         for (x = [plate_cut_x_bolt_offset - plate_cut_width, plate_width - plate_cut_x_bolt_offset])